package ocg.common.re.jdbc;

import ocg.common.re.feed.Feed;
import org.apache.poi.ss.formula.functions.T;

import java.lang.reflect.Field;
import java.util.Map;


/**
 * Created by chenbo on 2018/5/15.
 */
public class JdbcAssign {

    /**
     * @param map           map 键值对
     * @param clazz         实体类 类对象
     * @return
     */
    public static Object getFeedAssign( Map<String,Object> map, Class<?> clazz){

        int size = map.size ();
        Object o = null;
        if (size>0) {

            try {
                //            getFields()：获得某个类的所有的公共（public）的字段，包括父类中的字段。
                //            getDeclaredFields()：获得某个类的所有声明的字段，即包括public、private和proteced，但是不包括父类的申明字段。

                Field field[] = clazz.getDeclaredFields ();

                o = clazz.newInstance ();

                if (field.length>0) {
                    for (Field f : field) {
                        Object value = map.get ( f.getName () );
                        f.setAccessible(true);
                        f.set ( o, value );
                    }
                }else {

                }

            }  catch (IllegalAccessException e) {
                e.printStackTrace ();
            } catch (InstantiationException e) {
                e.printStackTrace ();
            }

        }
        return o;
    }
}
